package com.example.dataextraction.service;

import com.alibaba.fastjson.JSONObject;
import com.example.dataextraction.model.QueryVO;
import com.example.dataextraction.model.vo.CopyTableVO;

import java.util.List;

/**
 * @author Zenan Chen
 * @date 2023/1/16 14:29
 */
public interface FetchDataService {

    void createDataBase(String dataSourceCode, String dataBaseName) throws Exception;

    void copyTable(CopyTableVO copyTableVO) throws Exception;

    Object executeSQL(QueryVO queryVO) throws Exception;

    void checkDorisStatus(String dataSourceCode) throws Exception;

    void createData(String dataSourceCode) throws Exception;

    void copyData(CopyTableVO copyTableVO) throws Exception;

    List<JSONObject> getColumnInfo(String dataSourceUUID, String databaseName, String tableName) throws Exception;
}
